$(function() {


	
	// --------------------- 商品属性管理 -------------------------
	
	// 定义列
	var columns = [
		{
				field : 'no',
				title : '序号',
				align : 'left',
				formatter : function(value, row, index) {
					return index + 1;
				}
		},
	    { field: 'propertyValue', title: '<span class="required"><font color="red">*</font></span>属性值', align: 'center',
	    	formatter: function(value,row,index){
	    		return "<div class='col-md-12 col-sm-12 col-xs-12'>" +
	    				"<input type='hidden' name='id' value='"+row.id+"'/>" +
	    				"<input type='text' name='propertyValue' class='form-control col-md-12 col-xs-12' value='"+row.propertyValue+"'  onblur='updateRow("+index+",\"propertyValue\",\"属性值\",\"1\")'  >" +
	    				"</div>";
	    	}
	    },
	    { field: 'sortNo', title: '<span class="required"><font color="red"></font></span>排序', align: 'center',
	    	formatter: function(value,row,index){
	    		
	    		if(index == 0){
	    			return "<div class='col-md-12 col-sm-12 col-xs-12'>" +
    				"<a class='btn btn-info btn-xs' href='javaScript:void(0);' style='margin-left:20px;' onclick='rowSort(\""+row.propertyValue+"\",\"-1\","+ row.id + ")'>下移</a>" +
    				"</div>";
	    		}else{
	    			return "<div class='col-md-12 col-sm-12 col-xs-12'>" +
    				"<a class='btn btn-info btn-xs' href='javaScript:void(0);' onclick='rowSort(\""+row.propertyValue+"\",\"1\","+ row.id + ")' style='margin-left:20px;'>上移</a>" +
    				"<a class='btn btn-info btn-xs' href='javaScript:void(0);' onclick='rowSort(\""+row.propertyValue+"\",\"-1\","+ row.id + ")' style='margin-left:20px;'>下移</a>" +
    				"<a class='btn btn-info btn-xs' href='javaScript:void(0);' onclick='rowSort(\""+row.propertyValue+"\",\"0\","+ row.id + ")' style='margin-left:20px;'>置顶</a>" +
    				"</div>";
	    		}
	    	}
	    },
		{	
			field : '#',
			title : '操作',
			align : 'center',
			formatter : function(value, row, index) {
				return "<a class='btn btn-danger btn-xs' href='javaScript:void(0);' style='margin-left:20px;' onclick='toDeleteProductProperty(\""
								+ index + "\")'>删除</a>&nbsp;&nbsp;";
			}
		}
	];
			
	
	var id = $('#id').val();
	var queryParams = function(params) { 
		return {
			id:id
	  	}; 
	};
	
	var url = rootPath+"/productProperty/listProductPropertyValue";
	sys.initTable('productPropertyValueTable', {url: url, 
		queryParams:queryParams, 
		columns: columns,
		striped: true,
		clickToSelect: true,
		pagination: false
	});
	
	
	$("#add_product_property").click(function(){
		$("#productPropertyValueTable").bootstrapTable("append",{"propertyValue":""});
	});
	
	
	$("#btn_save").click(function() {
		$("#productPropertyForm").submit();
		return false;
	});
	
	$("#productPropertyForm").validate({
		rules : {
			propertyName : {
				required : true,
				minlength : 2,
				maxlength : 100
			}
		},
		messages : {
			propertyName : {
				required : '请填写属性名称',
				minlength : '属性名称至少2个字符',
				maxlength : '属性名称至少100个字符'
			}
		},
		errorPlacement : function(error, element) { // 错误信息位置设置方法
			var tagName = $(element).is("select");
    		if(!tagName) {
    			error.insertAfter(element);
    		}else {
    			error.insertAfter(element.parent().next());
    		}
		},
		submitHandler : function(form) {
			form.submit();
		}
	});
	
	$("#btn_back").click(function() {
		window.location.href = rootPath + "/productSpec/toListProductSpecPage?tabIndex=2";
	});
	
});


//表格中新添加的行，鼠标离开后，自动更新bootstrapTable 的行; 否则新加的空行，填写内容后，再次新增空行，之前添加的数据会被清空
//uniqueFlag 1 校验重复；0 不校验重复
function updateRow(index, field, fieldName,uniqueFlag){
	var curInput = $("input[name='"+field+"']:eq("+index+")");
	var value = curInput.val();
	if(!value || value == ""){
		return false;
	}
	var jsonData = $("#productPropertyValueTable").bootstrapTable("getData");
	for(var i = 0;i < jsonData.length; i++){
		if(jsonData[i][field] == value && i != index){
			layer.alert(fieldName+'不能重复，请重新输入', {
		        skin: 'layui-layer-lan'
		    });
			curInput.val("");
			return false;
		}
	}
	
	$("#productPropertyValueTable").bootstrapTable("updateCell",{index:index,field:field,value:value});
}


//排序 1-上移 -1下移  0 置顶
function rowSort(propertyValue,direction,id){
	var jsonData = $("#productPropertyValueTable").bootstrapTable("getData");
	var tmpData = null;
	if(jsonData && jsonData.length > 0){
		for(var i = 0;i < jsonData.length; i++){
			if(jsonData[i].propertyValue == propertyValue){
				// 上移
				if(direction == '1'){
					tmpData = jsonData[i-1];
					jsonData[i-1]=jsonData[i];
					jsonData[i]=tmpData;
					break;
				}
				
				// 下移 (最后一条不能下称)
				if(direction == '-1' && i != (jsonData.length-1)){
					tmpData = jsonData[i+1];
					jsonData[i+1]=jsonData[i];
					jsonData[i]=tmpData;
					break;
				}
				// 置顶
				if(direction == '0'){
					tmpData = jsonData[0];
					jsonData[0]=jsonData[i];
					jsonData[i]=tmpData;
					break;
				}
			}
		}
		$("#productPropertyValueTable").bootstrapTable("load",jsonData);
	}
}

// 删除商品属性值
function toDeleteProductProperty(rowIndex){
	layer.confirm('确定要删除该商品属性吗？',{
		  btn: ['确定','取消'], //按钮
		  skin: 'layui-layer-lan' //样式类名
		}, function(index, layero){
			
			var jsonData = $("#productPropertyValueTable").bootstrapTable("getData");
			jsonData.splice(rowIndex,1);
			$("#productPropertyValueTable").bootstrapTable("load",jsonData);
			layer.close(index)
			//$("#productPropertyValueTable").bootstrapTable("remove",{field:'propertyValue',values:[propertyValue]});
			layer.close(index);
		}, 
		function(index){
			
		}
	);
	
	
	
}